Graphical user interface (GUI) testing is performed to determine factors related to a user's experience utilizing a GUI (e.g., usability and coverage). GUI testing faces a myriad of obstacles due to difficulty in automating the testing because of the interactive nature of a user and application interaction. For example, even the seemingly simple task of determining coverage criteria of a GUI faces complications because traditional code-based coverage criteria do not necessarily apply in this domain. Another challenge is that the amount of test cases grows too large for a large system, increasing the difficulty to manage and maintain. Simply to run the test cases takes an enormous amount of time and system resources (e.g., memory and processing), making the GUI testing process cumbersome and inefficient.
Thus, there is a need for improved GUI testing functionality.